#pragma once

#include "Drawer.h"
#include "ResizableDialog.h"
#include "afxwin.h"

#include "TrajectoryBuilder.h"
#include "RadaParam.h"
#include "EphemParam.h"
#include "CalcStartParam.h"
#include "ApproachHolder.h"

// Cg_prog1Dlg dialog
class Cg_prog1Dlg : public CResizableDialog, public OnErrorNotifyInterface
{

public:
	Cg_prog1Dlg(CWnd* pParent = NULL);	// standard constructor
	enum { IDD = IDD_G_PROG1_DIALOG };

	virtual bool OnError(LPCTSTR stzError);
protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support

	afx_msg void OnBnClickedButtonCalc();
	afx_msg LRESULT OnShowValues(WPARAM, LPARAM);
	afx_msg LRESULT OnSelection(WPARAM, LPARAM);
	afx_msg void OnClose();
	afx_msg void OnBnClickedButtonRadaParam();
	afx_msg void OnBnClickedButtonEphemParam();
protected:
	virtual BOOL OnInitDialog();
	DECLARE_MESSAGE_MAP()
protected:
	CDrawer		m_DrawerArea;

	CTrajectoryBuilder	m_TrajectoryBuilder;
	CApproachHolder		m_ApproachHolder;

	// hold at least one instance and store settings in destructor
	CRadaParam			m_RadaParam; 
	CEphemParam			m_EphemParam;
	CCalcStartParam		m_CalcStartParam;
};
